<?php

/*
  |--------------------------------------------------------------------------
  | Register The Laravel Class Loader
  |--------------------------------------------------------------------------
  |
  | In addition to using Composer, you may use the Laravel class loader to
  | load your controllers and models. This is useful for keeping all of
  | your classes in the "global" namespace without Composer updating.
  |
 */

ClassLoader::addDirectories(array(
    app_path() . '/commands',
    app_path() . '/controllers',
    app_path() . '/models',
    app_path() . '/database/seeds',
));

/*
  |--------------------------------------------------------------------------
  | Application Error Logger
  |--------------------------------------------------------------------------
  |
  | Here we will configure the error logger setup for the application which
  | is built on top of the wonderful Monolog library. By default we will
  | build a basic log file setup which creates a single file for logs.
  |
 */

//Log::useFiles(storage_path().'/logs/laravel.log');    //所有日志都存入同一个文件
Log::useDailyFiles(storage_path() . '/logs/laravel.log'); //每天都存于不同的日志文件

/*
  |--------------------------------------------------------------------------
  | Application Error Handler
  |--------------------------------------------------------------------------
  |
  | Here you may handle any errors that occur in your application, including
  | logging them or displaying custom views for specific errors. You may
  | even register several error handlers to handle different types of
  | exceptions. If nothing is returned, the default error view is
  | shown, which includes a detailed stack trace during debug.
  |
 */

App::error(function(Exception $exception, $code) {
    Log::error($exception);
});

/*
  |--------------------------------------------------------------------------
  | Maintenance Mode Handler
  |--------------------------------------------------------------------------
  |
  | The "down" Artisan command gives you the ability to put an application
  | into maintenance mode. Here, you will define what is displayed back
  | to the user if maintenance mode is in effect for the application.
  |
 */

App::down(function() {
    if (Request::is('admin*')) {
        return null;
    }
    //return Response::make("Be right back!", 503);
    $siteName = Setting::find('site_name') ? Setting::find('site_name')->value : 'KenCMS';
    $siteDescription = Setting::find('site_description');
    $siteUrl = 'http://' . (Setting::find('site_url')->value ? Setting::find('site_url')->value : Request::server('SERVER_NAME'));
    $siteLogo = '/' . Setting::find('site_logo') ? Setting::find('site_logo')->value : 'logo.png';

    $data = array('siteName' => $siteName, 'description' => $siteDescription, 'siteUrl' => $siteUrl, 'siteLogo' => $siteLogo);
    $template = Theme::maintenance(); //print_r($template);die('hello');
    return Response::view($template, $data, 503);
});

/*
  |--------------------------------------------------------------------------
  | Require The Filters File
  |--------------------------------------------------------------------------
  |
  | Next we will load the filters file for the application. This gives us
  | a nice separate location to store our route and application filter
  | definitions instead of putting them all in the main routes file.
  |
 */

require app_path() . '/filters.php';
